package io;
//字符流 java按照读写数据单位划分为字节流和字符流
//java.io.InputStream和java.io.OutputStream是所有字节输入输出流的超类
//java.io.Reader和Writer则是所有字符输入和输出流的超类，这两个类是平级的，互相没有继承关系
//Reader定义了读取字符的相关方法
//Writer里定义了写出字符的相关方法
//特点都是以char为单位
//转换流：java.io.InputSteamReader和OutputStreamWriter
//他们是常见的字符实现流，同时是一对高级流，实际开发中我们不会使用他们，但是在流连接中他们是重要的一环


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;

public class OSWDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fileOutputStream=new FileOutputStream("osw.txt");
        //创建转换流时，可以通过第二个参数指定字符集
        OutputStreamWriter osw=new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8);
        String line="Hello World I love China";
        osw.write(line);
        System.out.println("完毕");
        osw.close();
    }
}
